<?php

/**
 * Базовый класс менеджеров бэкенда.
 *
 */
abstract class Kernel_Manager extends Kernel_Controller_Tokened {

    /**
     * Возвращает наименование класса компонента, который обработает запрошенное
     * действие.
     *
     * @return  string
     */
    protected function _getFilterClassName($name) {
        return $this->_package() . '_' . ucfirst($name);
    }

    /**
     * Возвращает пэкидж компонентов менеджера.
     *
     * @return  string
     */
    protected function _package() {
        static $package;
        return isset($package)
            ? $package
            : $package = ucfirst(Backend_Filter_Structure::get('module'))
                . '_Backend_' . ucfirst(Backend_Filter_Structure::get('manager'));
    }
}
